This invention relates to a digital differential analyzer and more particularly to a digital differential analyzer of the kind in which the arithmetic operations for the differential analysis of data are performed in accordance with a stored program.
As is commonly known, the digital differential analyzer (DDA) is used to solve various linear and nonlinear differential equations at high speed and yet with a relatively high degree of precision and to produce signals representing complicated curves or complicated curved surfaces. The DDA basically performs an integrating operation but it can perform various kinds of operations when the operation logic contained therein is properly modified. Further, if the operation logic is controlled by a computer with a given stored program, as described in U.S. Pat. No. 3,555,514 entitled "Digital Computer Instruction Sequencing to Carry Out Digital Differential Analysis" and U.S. Pat. No. 3,274,376 entitled "Digital Differential Analyzer in Conjunction with a General Purpose Computer", a DDA arranged to perform proper processings of data can be designed. The DDA is a digital apparatus; however, if the operation logic thereof is properly controlled, it can serve as an operator with a function equivalent to that of an analog operator such as an integrator, a counter, an adder, a servo, and a decision maker. Accordingly, the processes controlled by a conventional analog operator may also be controlled by using the DDA with the operation logic controlled.
Compared with a control system exclusively used for analog operation, a control system using the DDA is inferior to the former in the response speed but superior to the same in accuracy of the control. Further compared with a control system using a usual digital computer for control, the DDA control system is comparable with the digital computer control in high accuracy in control but superior thereto in the response characteristic.
As described above, the DDA is useful in its performance, but the expression of input and output used in the operation of the DDA is different from that in the so-called general purpose computer (GPC) as follows:
Now assume that y is a time-variable quantity and z is a function of y, and that it is desired to obtain a value of z with variation of the value of y. Generally, any of the DDA and the GPC performs a specific operation repeatedly at a predetermined iteration timing in order to obtain such a value of z.
In the operation of the GPC, an instant value of y is latched at the beginning of each iteration cycle and subjected to a specific operation which directly produces the value of z corresponding to the input value of y. That is, in the GPC, inputs of y.sub.0, y.sub.1, . . . y.sub.i are latched successively at the 0-th, 1st, 2nd, . . . i-th iteration cycles, respectively, and as the results of the repeated operations, there are produced outputs of z.sub.0, z.sub.1, . . . z.sub.i, respectively.
On the other hand, the DDA uses, as inputs, y.sub.0, y.sub.1 -y.sub.0, y.sub.2 -y.sub.1, . . . y.sub.i -y.sub.i-1, respectively in the 0-th, 1st, 2nd, . . . i-th iteration cycles, and produces, as outputs, z.sub.0, z.sub.1 -z.sub.0, z.sub.2 -z.sub.1, . . . z.sub.i -a.sub.i-1, respectively. Hereinafter, the value of such y.sub.0, y.sub.1 . . . or z.sub.0, z.sub.1 . . . will be called a whole value, while the value of such y.sub.1 -y.sub.0, y.sub.2 -y.sub.1 . . . or z.sub.1 -z.sub.0, z.sub.2 -z.sub.1 will be called a value of an increment or simply an increment. For this reason, it is troublesome in its handling in practical use. More specifically, when the DDA is used with an automatic process control system, it is required to apply to the DDA operator only increments extracted from a whole value of each of various signals obtained from the process and to accumulate the increments resulting from its operation thereby to reconstruct the whole value to be applied as a control signal to the process.
Of those problems, the reconstruction of the whole value from increments, or the conversion of the increments into the whole value can be easily realized by using the contents of an integrand register, as called hereinafter "Y register", of the DDA which stores an integrand y, since the Y register holds an accumulation of increments operated. The problem to still be solved is how to obtain increments of various signals accurately and simply. The techniques so far proposed are: to provide hardware between the process and the DDA for producing increments of whole values of various signals from the process; or to input whole values of various signals from the process, as integrands y into the Y registers of a specific DDA operator thereby producing integration of y with respect to time, which is applied to a y increment generator composed of a combination of specific DDA operators so as to produce the increments.
The former technique is uneconomical because of use of the special and additional hardware and, when the number of signals from the process from which increments are derived are large, the additional hardware may be more expensive than the DDA proper. Also, an increased number of parts of the hardware which necessarily causes the reliability to degrade is undesirable for the process control system which inherently needs a fairly higher reliability.
The latter technique needs a plurality (e.g. 3 to 4) of DDA operators. Further, it is difficult to stably obtain increments when the control system is designed with an intention of a high response speed. Conversely, when the system is designed so as to stably obtain increments, the response speed is slow. Thus, it is very difficult to obtain an optimum compromise between the requirements of stable increment derivation and high speed response.